.TH std::moneypunct::decimal_point,do_decimal_point 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::moneypunct::decimal_point,do_decimal_point \- std::moneypunct::decimal_point,do_decimal_point

.SH Synopsis
   Defined in header <locale>
   public:                                 \fB(1)\fP
   CharT decimal_point() const;
   protected:                              \fB(2)\fP
   virtual CharT do_decimal_point() const;

   1) Public member function, calls the member function do_decimal_point of the most
   derived class.
   2) Returns the character to use as the decimal point separator in monetary I/O if
   the format uses fractions (that is, if do_frac_digits() is greater than zero). For
   typical U.S. locales, it is the character '.' (or L'.').

.SH Return value

   The object of type CharT holding the decimal point character.

.SH Example


// Run this code

 #include <iomanip>
 #include <iostream>
 #include <locale>

 void show_dpt(const char* locname)
 {
     std::locale loc(locname);
     std::cout.imbue(loc);
     std::cout << locname << " decimal point is '"
               << std::use_facet<std::moneypunct<char>>(loc).decimal_point()
               << "' for example: " << std::showbase << std::put_money(123);
     if (std::use_facet<std::moneypunct<char>>(loc).frac_digits() == 0)
         std::cout << " (does not use frac digits)";

     std::cout << '\\n';
 }

 int main()
 {
     show_dpt("en_US.utf8");
     show_dpt("ja_JP.utf8");
     show_dpt("sv_SE.utf8");
     show_dpt("de_DE.utf8");
 }

.SH Output:

 en_US.utf8 decimal point is '.' for example: $1.23
 ja_JP.utf8 decimal point is '.' for example: ￥123 (does not use frac digits)
 sv_SE.utf8 decimal point is ',' for example: 1,23 kr
 de_DE.utf8 decimal point is ',' for example: 1,23 €

.SH See also

   do_frac_digits provides the number of digits to display after the decimal point
   \fB[virtual]\fP      \fI(virtual protected member function)\fP
